// 定义loading插件
import LoadingComponentOption from './Loading.vue'
const Loading = {
  install (Vue) {
    // 定义组件loading的类 其中extend方法返回的是一个vue的实例
    const LoadingClass = Vue.extend(LoadingComponentOption)
    // 可以拿到组件的实例
    const loadingComponent = new LoadingClass()
    // 利用$mount方法会让组件的template方法编译成真实的dom，利用$el方法保存真实dom结构
    const loadingTpl = loadingComponent.$mount()
    // 把获得的dom结构插入html节点中
    document.body.appendChild(loadingTpl.$el)
    Vue.prototype.$showLoading = () => {
      loadingComponent.isShow = true
    }
    Vue.prototype.$hideLoading = () => {
      loadingComponent.isShow = false
    }
  }
}

export default Loading
